Resource StructureDefinition/FHIR Server from package nhsd.assets.stu3#1.7.0 (437 ms)
Resources that use this resource
No resources found
Resources that this resource uses
Source
{
"resourceType" : "StructureDefinition",
"meta" : {
"lastUpdated" : "2018-01-05T16:50:12.155+00:00"
},
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
"valueCode" : "fhir"
}
],
"url" : "https://fhir.nhs.uk/STU3/StructureDefinition/NHSDigital-CapabilityStatement-1",
"version" : "1.0.0",
"name" : "NHSDigital-CapabilityStatement-1",
"title" : "NHSDigital CapabilityStatement",
"status" : "draft",
"date" : "2017-08-22T16:15:45.2519896+01:00",
"publisher" : "NHS Digital",
"contact" : [
{
"name" : "Interoperability Team",
"telecom" : [
{
"system" : "email",
"value" : "interoperabilityteam@nhs.net",
"use" : "work"
}
]
}
],
"description" : "NHSDigital-CapabilityStatement-1 requirements profile.",
"copyright" : "Copyright © 2017 NHS Digital",
"fhirVersion" : "3.0.1",
"kind" : "resource",
"abstract" : false,
"type" : "CapabilityStatement",
"baseDefinition" : "http://hl7.org/fhir/StructureDefinition/CapabilityStatement",
"derivation" : "constraint",
"snapshot" : {
"element" : [
{
"id" : "CapabilityStatement",
"path" : "CapabilityStatement",
"short" : "A statement of system capabilities",
"definition" : "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.",
"min" : 1,
"max" : "1",
"base" : {
"path" : "Resource",
"min" : 0,
"max" : "*"
},
"constraint" : [
{
"key" : "dom-2",
"severity" : "error",
"human" : "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
"expression" : "contained.contained.empty()",
"xpath" : "not(parent::f:contained and f:contained)"
},
{
"key" : "dom-1",
"severity" : "error",
"human" : "If the resource is contained in another resource, it SHALL NOT contain any narrative",
"expression" : "contained.text.empty()",
"xpath" : "not(parent::f:contained and f:text)"
},
{
"key" : "dom-4",
"severity" : "error",
"human" : "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
"expression" : "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
"xpath" : "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))"
},
{
"key" : "dom-3",
"severity" : "error",
"human" : "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
"expression" : "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
"xpath" : "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))"
},
{
"key" : "cpb-8",
"severity" : "error",
"human" : "There can only be one REST declaration per mode.",
"expression" : "rest.select(mode).isDistinct()",
"xpath" : "count(f:rest)=count(distinct-values(f:rest/f:mode/@value))"
},
{
"key" : "cpb-7",
"severity" : "error",
"human" : "The set of documents must be unique by the combination of profile and mode.",
"expression" : "document.select(profile.reference&mode).isDistinct()",
"xpath" : "count(f:document[f:mode/@value='producer'])=count(distinct-values(f:document[f:mode/@value='producer']/f:profile/f:reference/@value)) and count(f:document[f:mode/@value='consumer'])=count(distinct-values(f:document[f:mode/@value='consumer']/f:profile/f:reference/@value))"
},
{
"key" : "cpb-15",
"severity" : "error",
"human" : "Capability Statements of kind 'instance' do not have implementation elements.",
"expression" : "implementation.empty() or kind != 'capability'",
"xpath" : "not(exists(f:implementation)) or (f:kind/@value != 'capability')"
},
{
"key" : "cpb-3",
"severity" : "error",
"human" : "Messaging end-point is required (and is only permitted) when a statement is for an implementation.",
"expression" : "messaging.endpoint.empty() or kind = 'instance'",
"xpath" : "not(exists(f:messaging/f:endpoint)) or f:kind/@value = 'instance'"
},
{
"key" : "cpb-14",
"severity" : "error",
"human" : "Capability Statements of kind 'requirements' do not have software or implementation elements.",
"expression" : "(software.empty() and implementation.empty()) or kind != 'requirements'",
"xpath" : "not(exists(f:software) or exists(f:implementation)) or (f:kind/@value != 'requirements')"
},
{
"key" : "cpb-2",
"severity" : "error",
"human" : "A Capability Statement SHALL have at least one of description, software, or implementation element.",
"expression" : "(description.count() + software.count() + implementation.count()) > 0",
"xpath" : "count(f:software | f:implementation | f:description) > 0"
},
{
"key" : "cpb-1",
"severity" : "error",
"human" : "A Capability Statement SHALL have at least one of REST, messaging or document element.",
"expression" : "rest.exists() or messaging.exists() or document.exists()",
"xpath" : "exists(f:rest) or exists(f:messaging) or exists(f:document)"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "Entity. Role, or Act"
},
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "w5",
"map" : "conformance.behavior"
}
]
},
{
"id" : "CapabilityStatement.id",
"path" : "CapabilityStatement.id",
"short" : "Logical id of this artifact",
"definition" : "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
"comment" : "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.id",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "id"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "CapabilityStatement.meta",
"path" : "CapabilityStatement.meta",
"short" : "Metadata about the resource",
"definition" : "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.meta",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "Meta"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "CapabilityStatement.implicitRules",
"path" : "CapabilityStatement.implicitRules",
"short" : "A set of rules under which this content was created",
"definition" : "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.",
"comment" : "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.implicitRules",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "uri"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isModifier" : true,
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "CapabilityStatement.language",
"path" : "CapabilityStatement.language",
"short" : "Language of the resource content",
"definition" : "The base language in which the resource is written.",
"comment" : "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Resource.language",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "code"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"binding" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
"valueReference" : {
"reference" : "http://hl7.org/fhir/ValueSet/all-languages"
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString" : "Language"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean" : true
}
],
"strength" : "extensible",
"description" : "A human language.",
"valueSetReference" : {
"reference" : "http://hl7.org/fhir/ValueSet/languages"
}
},
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "CapabilityStatement.text",
"path" : "CapabilityStatement.text",
"short" : "Text summary of the resource, for human interpretation",
"definition" : "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
"comment" : "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
"alias" : [
"narrative",
"html",
"xhtml",
"display"
],
"min" : 0,
"max" : "1",
"base" : {
"path" : "DomainResource.text",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "Narrative"
}
],
"condition" : [
"ele-1",
"dom-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "rim",
"map" : "N/A"
},
{
"identity" : "rim",
"map" : "Act.text?"
}
]
},
{
"id" : "CapabilityStatement.contained",
"path" : "CapabilityStatement.contained",
"short" : "Contained, inline Resources",
"definition" : "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
"comment" : "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
"alias" : [
"inline resources",
"anonymous resources",
"contained resources"
],
"min" : 0,
"max" : "*",
"base" : {
"path" : "DomainResource.contained",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Resource"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "Entity. Role, or Act"
},
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "CapabilityStatement.extension",
"path" : "CapabilityStatement.extension",
"slicing" : {
"discriminator" : [
{
"type" : "value",
"path" : "url"
}
],
"description" : "Extensions are always sliced by (at least) url",
"rules" : "open"
},
"short" : "Additional Content defined by implementations",
"definition" : "May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias" : [
"extensions",
"user content"
],
"min" : 0,
"max" : "*",
"base" : {
"path" : "DomainResource.extension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
},
{
"key" : "ext-1",
"severity" : "error",
"human" : "Must have either extensions or value[x], not both",
"expression" : "extension.exists() != value.exists()",
"xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "CapabilityStatement.modifierExtension",
"path" : "CapabilityStatement.modifierExtension",
"slicing" : {
"discriminator" : [
{
"type" : "value",
"path" : "url"
}
],
"description" : "Extensions are always sliced by (at least) url",
"rules" : "open"
},
"short" : "Extensions that cannot be ignored",
"definition" : "May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
"comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias" : [
"extensions",
"user content"
],
"min" : 0,
"max" : "*",
"base" : {
"path" : "DomainResource.modifierExtension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
},
{
"key" : "ext-1",
"severity" : "error",
"human" : "Must have either extensions or value[x], not both",
"expression" : "extension.exists() != value.exists()",
"xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
}
],
"isModifier" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "CapabilityStatement.url",
"path" : "CapabilityStatement.url",
"short" : "Logical URI to reference this capability statement (globally unique)",
"definition" : "An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this capability statement is (or will be) published. The URL SHOULD include the major version of the capability statement. For more information see [Technical and Business Versions](resource.html#versions).",
"comment" : "This version of the profile requires a URL element.\r\n\r\nFHIR-CONF-01: All FHIR ReST endpoints MUST publish their conformance\r\n\r\nFHIR-VER-02: HL7 FHIR version in FHIR Endpoint URL\r\n\r\nFHIR-VER-04: Major Profile Version in Resource ID\r\n\r\nCapability statements of kind 'requirements' example:\r\nhttps://fhir.nhs.uk/STU3/CapabilityStatement/ODSAPI-CapabilityStatement-1\r\n\r\nCapability statements of kind 'instance' example [TBC]:\r\nhttps://directory.spineservices.nhs.uk /STU3/SpineDirectory-CapabilityStatement-1",
"requirements" : "Allows the capability statement to be referenced by a single globally unique identifier.",
"min" : 1,
"max" : "1",
"base" : {
"path" : "CapabilityStatement.url",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "uri"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "w5",
"map" : "id"
}
]
},
{
"id" : "CapabilityStatement.version",
"path" : "CapabilityStatement.version",
"short" : "Business version of the capability statement",
"definition" : "The identifier that is used to identify this version of the capability statement when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the capability statement author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.",
"comment" : "Capability statements of kind 'requirements' MUST support the version element.\r\n\r\nFHIR-VER-05: Minor and Patch Profile Version will use FHIR versioning\r\n\r\nThe version element within the resource will contain the full semantic version of the resource, and will look like this:\r\n<version value=”1.1.3”/>\r\n\r\n\r\nThere may be different capability statement instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a refrence to a particular business version of the capability statement with the format [url]|[version].",
"min" : 0,
"max" : "1",
"base" : {
"path" : "CapabilityStatement.version",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "string"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "w5",
"map" : "id.version"
}
]
},
{
"id" : "CapabilityStatement.name",
"path" : "CapabilityStatement.name",
"short" : "Name for this capability statement (computer friendly)",
"definition" : "A natural language name identifying the capability statement. This name should be usable as an identifier for the module by machine processing applications such as code generation.",
"comment" : "This version of the profile requires a name element.\r\n\r\nFHIR-VER-04: Major Profile Version in Resource ID\r\n\r\nNational NHS Digital capability statements MUST support the NHS Digital agreed pattern. \r\nRefer to: \r\n\r\n• NHS-Digital-FHIR-Artefact-Naming.docx\r\n\r\n\r\nThe name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
"requirements" : "Support human navigation and code generation.",
"min" : 1,
"max" : "1",
"base" : {
"path" : "CapabilityStatement.name",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "string"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "CapabilityStatement.title",
"path" : "CapabilityStatement.title",
"short" : "Name for this capability statement (human friendly)",
"definition" : "A short, descriptive, user-friendly title for the capability statement.",
"comment" : "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "CapabilityStatement.title",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "string"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "CapabilityStatement.status",
"path" : "CapabilityStatement.status",
"short" : "draft | active | retired | unknown",
"definition" : "The status of this capability statement. Enables tracking the life-cycle of the content.",
"comment" : "For all under development CapabilityStatement profiles the status MUST be 'draft'.\r\n\r\nNB: This is not intended for use with actual conformance statements (instances)\r\n\r\nAllows filtering of capability statements that are appropriate for use vs. not. \nThis is labeled as \"Is Modifier\" because applications should not use a retired capability statement without due consideration. This is not intended for use with actual capability statements, but where capability statements are used to describe possible or desired systems.",
"min" : 1,
"max" : "1",
"base" : {
"path" : "CapabilityStatement.status",
"min" : 1,
"max" : "1"
},
"type" : [
{
"code" : "code"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isModifier" : true,
"isSummary" : true,
"binding" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString" : "PublicationStatus"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean" : true
}
],
"strength" : "required",
"description" : "The lifecycle status of a Value Set or Concept Map.",
"valueSetReference" : {
"reference" : "http://hl7.org/fhir/ValueSet/publication-status"
}
},
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "w5",
"map" : "status"
}
]
},
{
"id" : "CapabilityStatement.experimental",
"path" : "CapabilityStatement.experimental",
"short" : "For testing purposes, not real usage",
"definition" : "A boolean value to indicate that this capability statement is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.",
"comment" : "Allows filtering of capability statement that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental capability statement in production.",
"requirements" : "Enables experimental content to be developed following the same lifecycle that would be used for a production-level capability statement.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "CapabilityStatement.experimental",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "boolean"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isModifier" : true,
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "w5",
"map" : "class"
}
]
},
{
"id" : "CapabilityStatement.date",
"path" : "CapabilityStatement.date",
"short" : "Date this was last changed",
"definition" : "The date (and optionally time) when the capability statement was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the capability statement changes.",
"comment" : "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the capability statement. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
"alias" : [
"Revision Date"
],
"min" : 1,
"max" : "1",
"base" : {
"path" : "CapabilityStatement.date",
"min" : 1,
"max" : "1"
},
"type" : [
{
"code" : "dateTime"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "w5",
"map" : "when.recorded"
}
]
},
{
"id" : "CapabilityStatement.publisher",
"path" : "CapabilityStatement.publisher",
"short" : "Name of the publisher (organization or individual)",
"definition" : "The name of the individual or organization that published the capability statement.",
"comment" : "This version of the profile requires a publisher element.\r\n\r\nNational Spine REST API capability statements of kind ‘requirements’ and server ‘instances’ MUST populate this element with ‘NHS Digital’.\r\n\r\nMUST be populated with the name of the individual or organization that published the capability statement.\r\n\r\nUsually an organization, but may be an individual. The publisher (or steward) of the capability statement is the organization or individual primarily responsible for the maintenance and upkeep of the capability statement. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the capability statement. This item SHOULD be populated unless the information is available from context.",
"requirements" : "Helps establish the \"authority/credibility\" of the capability statement. May also allow for contact.",
"min" : 1,
"max" : "1",
"base" : {
"path" : "CapabilityStatement.publisher",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "string"
}
],
"fixedString" : "NHS Digital",
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "w5",
"map" : "who.witness"
}
]
},
{
"id" : "CapabilityStatement.contact",
"path" : "CapabilityStatement.contact",
"short" : "Contact details for the publisher",
"definition" : "Contact details to assist a user in finding and communicating with the publisher.",
"comment" : "This version of the profile requires a contact details element.\r\n\r\nMUST be populated with contacts to assist a user in finding and communicating with the publisher.\r\n\r\nMay be a web site, an email address, a telephone number, etc.",
"min" : 1,
"max" : "*",
"base" : {
"path" : "CapabilityStatement.contact",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "ContactDetail"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "CapabilityStatement.contact.id",
"path" : "CapabilityStatement.contact.id",
"representation" : [
"xmlAttr"
],
"short" : "xml:id (or equivalent in JSON)",
"definition" : "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"comment" : "Note that FHIR strings may not exceed 1MB in size",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Element.id",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "string"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "CapabilityStatement.contact.extension",
"path" : "CapabilityStatement.contact.extension",
"slicing" : {
"discriminator" : [
{
"type" : "value",
"path" : "url"
}
],
"description" : "Extensions are always sliced by (at least) url",
"rules" : "open"
},
"short" : "Additional Content defined by implementations",
"definition" : "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias" : [
"extensions",
"user content"
],
"min" : 0,
"max" : "*",
"base" : {
"path" : "Element.extension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
},
{
"key" : "ext-1",
"severity" : "error",
"human" : "Must have either extensions or value[x], not both",
"expression" : "extension.exists() != value.exists()",
"xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "CapabilityStatement.contact.name",
"path" : "CapabilityStatement.contact.name",
"short" : "Name of an individual to contact",
"definition" : "The name of an individual to contact.",
"comment" : "This version of the profile requires a contact name element.\r\n\r\nNational capability statements of kind ‘requirements’ MUST populate this element with ‘Interoperability Team’.\r\n\r\nCapability statements of kind ‘instance’ SHOULD populate this element with relevant service desk details.",
"min" : 1,
"max" : "1",
"base" : {
"path" : "ContactDetail.name",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "string"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "CapabilityStatement.contact.telecom",
"path" : "CapabilityStatement.contact.telecom",
"short" : "Contact details for individual or organization",
"definition" : "The contact details for the individual (if a name was provided) or the organization.",
"comment" : "This version of the profile requires at least one telecom element.\r\n\r\nCapability statements of kind 'requirements' MUST populate the telecom child elements as follows:\r\nSystem: email\r\nValue: interoperabilityteam@nhs.net\r\nUse: work\r\n\r\nCapability statements of kind 'instance' MUST populate the telecom child elements with relevant service desk contact details.",
"min" : 1,
"max" : "*",
"base" : {
"path" : "ContactDetail.telecom",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "ContactPoint"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
},
{
"key" : "cpt-2",
"severity" : "error",
"human" : "A system is required if a value is provided.",
"expression" : "value.empty() or system.exists()",
"xpath" : "not(exists(f:value)) or exists(f:system)"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "v2",
"map" : "XTN"
},
{
"identity" : "rim",
"map" : "TEL"
},
{
"identity" : "servd",
"map" : "ContactPoint"
}
]
},
{
"id" : "CapabilityStatement.contact.telecom.id",
"path" : "CapabilityStatement.contact.telecom.id",
"representation" : [
"xmlAttr"
],
"short" : "xml:id (or equivalent in JSON)",
"definition" : "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"comment" : "Note that FHIR strings may not exceed 1MB in size",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Element.id",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "string"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "CapabilityStatement.contact.telecom.extension",
"path" : "CapabilityStatement.contact.telecom.extension",
"slicing" : {
"discriminator" : [
{
"type" : "value",
"path" : "url"
}
],
"description" : "Extensions are always sliced by (at least) url",
"rules" : "open"
},
"short" : "Additional Content defined by implementations",
"definition" : "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias" : [
"extensions",
"user content"
],
"min" : 0,
"max" : "*",
"base" : {
"path" : "Element.extension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
},
{
"key" : "ext-1",
"severity" : "error",
"human" : "Must have either extensions or value[x], not both",
"expression" : "extension.exists() != value.exists()",
"xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "CapabilityStatement.contact.telecom.system",
"path" : "CapabilityStatement.contact.telecom.system",
"short" : "phone | fax | email | pager | url | sms | other",
"definition" : "Telecommunications form for contact point - what communications system is required to make use of the contact.",
"comment" : "Note that FHIR strings may not exceed 1MB in size",
"min" : 0,
"max" : "1",
"base" : {
"path" : "ContactPoint.system",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "code"
}
],
"condition" : [
"ele-1",
"cpt-2"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"binding" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString" : "ContactPointSystem"
}
],
"strength" : "required",
"description" : "Telecommunications form for contact point",
"valueSetReference" : {
"reference" : "http://hl7.org/fhir/ValueSet/contact-point-system"
}
},
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "v2",
"map" : "XTN.3"
},
{
"identity" : "rim",
"map" : "./scheme"
},
{
"identity" : "servd",
"map" : "./ContactPointType"
}
]
},
{
"id" : "CapabilityStatement.contact.telecom.value",
"path" : "CapabilityStatement.contact.telecom.value",
"short" : "The actual contact point details",
"definition" : "The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address).",
"comment" : "Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value.",
"requirements" : "Need to support legacy numbers that are not in a tightly controlled format.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "ContactPoint.value",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "string"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "v2",
"map" : "XTN.1 (or XTN.12)"
},
{
"identity" : "rim",
"map" : "./url"
},
{
"identity" : "servd",
"map" : "./Value"
}
]
},
{
"id" : "CapabilityStatement.contact.telecom.use",
"path" : "CapabilityStatement.contact.telecom.use",
"short" : "home | work | temp | old | mobile - purpose of this contact point",
"definition" : "Identifies the purpose for the contact point.",
"comment" : "This is labeled as \"Is Modifier\" because applications should not mistake a temporary or old contact etc.for a current/permanent one. Applications can assume that a contact is current unless it explicitly says that it is temporary or old.",
"requirements" : "Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "ContactPoint.use",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "code"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isModifier" : true,
"isSummary" : true,
"binding" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString" : "ContactPointUse"
}
],
"strength" : "required",
"description" : "Use of contact point",
"valueSetReference" : {
"reference" : "http://hl7.org/fhir/ValueSet/contact-point-use"
}
},
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "v2",
"map" : "XTN.2 - but often indicated by field"
},
{
"identity" : "rim",
"map" : "unique(./use)"
},
{
"identity" : "servd",
"map" : "./ContactPointPurpose"
}
]
},
{
"id" : "CapabilityStatement.contact.telecom.rank",
"path" : "CapabilityStatement.contact.telecom.rank",
"short" : "Specify preferred order of use (1 = highest)",
"definition" : "Specifies a preferred order in which to use a set of contacts. Contacts are ranked with lower values coming before higher values.",
"comment" : "Note that rank does not necessarily follow the order in which the contacts are represented in the instance.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "ContactPoint.rank",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "positiveInt"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "v2",
"map" : "n/a"
}
]
},
{
"id" : "CapabilityStatement.contact.telecom.period",
"path" : "CapabilityStatement.contact.telecom.period",
"short" : "Time period when the contact point was/is in use",
"definition" : "Time period when the contact point was/is in use.",
"comment" : "This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. \"the patient was an inpatient of the hospital for this time range\") or one value from the range applies (e.g. \"give to the patient between these two times\"). If duration is required, specify the type as Interval|Duration.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "ContactPoint.period",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "Period"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
},
{
"key" : "per-1",
"severity" : "error",
"human" : "If present, start SHALL have a lower value than end",
"expression" : "start.empty() or end.empty() or (start <= end)",
"xpath" : "not(exists(f:start)) or not(exists(f:end)) or (f:start/@value <= f:end/@value)"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "v2",
"map" : "DR"
},
{
"identity" : "rim",
"map" : "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]"
},
{
"identity" : "v2",
"map" : "N/A"
},
{
"identity" : "rim",
"map" : "./usablePeriod[type=\"IVL<TS>\"]"
},
{
"identity" : "servd",
"map" : "./StartDate and ./EndDate"
}
]
},
{
"id" : "CapabilityStatement.contact.telecom.period.id",
"path" : "CapabilityStatement.contact.telecom.period.id",
"representation" : [
"xmlAttr"
],
"short" : "xml:id (or equivalent in JSON)",
"definition" : "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"comment" : "Note that FHIR strings may not exceed 1MB in size",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Element.id",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "string"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "CapabilityStatement.contact.telecom.period.extension",
"path" : "CapabilityStatement.contact.telecom.period.extension",
"slicing" : {
"discriminator" : [
{
"type" : "value",
"path" : "url"
}
],
"description" : "Extensions are always sliced by (at least) url",
"rules" : "open"
},
"short" : "Additional Content defined by implementations",
"definition" : "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias" : [
"extensions",
"user content"
],
"min" : 0,
"max" : "*",
"base" : {
"path" : "Element.extension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
},
{
"key" : "ext-1",
"severity" : "error",
"human" : "Must have either extensions or value[x], not both",
"expression" : "extension.exists() != value.exists()",
"xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "CapabilityStatement.contact.telecom.period.start",
"path" : "CapabilityStatement.contact.telecom.period.start",
"short" : "Starting time with inclusive boundary",
"definition" : "The start of the period. The boundary is inclusive.",
"comment" : "If the low element is missing, the meaning is that the low boundary is not known.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Period.start",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "dateTime"
}
],
"condition" : [
"ele-1",
"per-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "v2",
"map" : "DR.1"
},
{
"identity" : "rim",
"map" : "./low"
}
]
},
{
"id" : "CapabilityStatement.contact.telecom.period.end",
"path" : "CapabilityStatement.contact.telecom.period.end",
"short" : "End time with inclusive boundary, if not ongoing",
"definition" : "The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.",
"comment" : "The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Period.end",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "dateTime"
}
],
"meaningWhenMissing" : "If the end of the period is missing, it means that the period is ongoing",
"condition" : [
"ele-1",
"per-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "v2",
"map" : "DR.2"
},
{
"identity" : "rim",
"map" : "./high"
}
]
},
{
"id" : "CapabilityStatement.description",
"path" : "CapabilityStatement.description",
"short" : "Natural language description of the capability statement",
"definition" : "A free text natural language description of the capability statement from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.",
"comment" : "Capability statements of kind ‘requirements’ MUST support the description element. \r\n\r\nThe description of the capability statement will be described and published within the NHS Digital Jekyll API Implementation Guide publication.\r\n\r\nThis description can be used to capture details such as why the capability statement was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the capability statement as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). This does not need to be populated if the description is adequately implied by the software or implementation details.\r\n\r\nNHS Digital Business Rules:\r\nConformance statements of kind 'requirements' MUST support the description element. The description of the capability statement will be described and published within the NHS Digital Jekyll API Implementation Guide publication.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "CapabilityStatement.description",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "markdown"
}
],
"condition" : [
"ele-1",
"cpb-2"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "CapabilityStatement.useContext",
"path" : "CapabilityStatement.useContext",
"short" : "Context the content is intended to support",
"definition" : "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate capability statement instances.",
"comment" : "NHS Digital Business Rules:\r\n\r\nMAY be populated with content developed with a focus and intent of supporting the contexts that are listed.\r\n\r\nWhen multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
"requirements" : "Assist in searching for appropriate content.",
"min" : 0,
"max" : "*",
"base" : {
"path" : "CapabilityStatement.useContext",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "UsageContext"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "CapabilityStatement.useContext.id",
"path" : "CapabilityStatement.useContext.id",
"representation" : [
"xmlAttr"
],
"short" : "xml:id (or equivalent in JSON)",
"definition" : "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"comment" : "Note that FHIR strings may not exceed 1MB in size",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Element.id",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "string"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "CapabilityStatement.useContext.extension",
"path" : "CapabilityStatement.useContext.extension",
"slicing" : {
"discriminator" : [
{
"type" : "value",
"path" : "url"
}
],
"description" : "Extensions are always sliced by (at least) url",
"rules" : "open"
},
"short" : "Additional Content defined by implementations",
"definition" : "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias" : [
"extensions",
"user content"
],
"min" : 0,
"max" : "*",
"base" : {
"path" : "Element.extension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
},
{
"key" : "ext-1",
"severity" : "error",
"human" : "Must have either extensions or value[x], not both",
"expression" : "extension.exists() != value.exists()",
"xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "CapabilityStatement.useContext.code",
"path" : "CapabilityStatement.useContext.code",
"short" : "Type of context being specified",
"definition" : "A code that identifies the type of context being specified by this usage context.",
"comment" : "Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.",
"min" : 1,
"max" : "1",
"base" : {
"path" : "UsageContext.code",
"min" : 1,
"max" : "1"
},
"type" : [
{
"code" : "Coding"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"binding" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString" : "UsageContextType"
}
],
"strength" : "extensible",
"description" : "A code that specifies a type of context being specified by a usage context",
"valueSetReference" : {
"reference" : "http://hl7.org/fhir/ValueSet/usage-context-type"
}
},
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "v2",
"map" : "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
},
{
"identity" : "rim",
"map" : "CV"
},
{
"identity" : "orim",
"map" : "fhir:Coding rdfs:subClassOf dt:CDCoding"
}
]
},
{
"id" : "CapabilityStatement.useContext.code.id",
"path" : "CapabilityStatement.useContext.code.id",
"representation" : [
"xmlAttr"
],
"short" : "xml:id (or equivalent in JSON)",
"definition" : "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"comment" : "Note that FHIR strings may not exceed 1MB in size",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Element.id",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "string"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
}
]
},
{
"id" : "CapabilityStatement.useContext.code.extension",
"path" : "CapabilityStatement.useContext.code.extension",
"slicing" : {
"discriminator" : [
{
"type" : "value",
"path" : "url"
}
],
"description" : "Extensions are always sliced by (at least) url",
"rules" : "open"
},
"short" : "Additional Content defined by implementations",
"definition" : "May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias" : [
"extensions",
"user content"
],
"min" : 0,
"max" : "*",
"base" : {
"path" : "Element.extension",
"min" : 0,
"max" : "*"
},
"type" : [
{
"code" : "Extension"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
},
{
"key" : "ext-1",
"severity" : "error",
"human" : "Must have either extensions or value[x], not both",
"expression" : "extension.exists() != value.exists()",
"xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"
}
],
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "rim",
"map" : "N/A"
}
]
},
{
"id" : "CapabilityStatement.useContext.code.system",
"path" : "CapabilityStatement.useContext.code.system",
"short" : "Identity of the terminology system",
"definition" : "The identification of the code system that defines the meaning of the symbol in the code.",
"comment" : "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
"requirements" : "Need to be unambiguous about the source of the definition of the symbol.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Coding.system",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "uri"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "v2",
"map" : "C*E.3"
},
{
"identity" : "rim",
"map" : "./codeSystem"
},
{
"identity" : "orim",
"map" : "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
}
]
},
{
"id" : "CapabilityStatement.useContext.code.version",
"path" : "CapabilityStatement.useContext.code.version",
"short" : "Version of the system - if relevant",
"definition" : "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
"comment" : "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Coding.version",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "string"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "v2",
"map" : "C*E.7"
},
{
"identity" : "rim",
"map" : "./codeSystemVersion"
},
{
"identity" : "orim",
"map" : "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
}
]
},
{
"id" : "CapabilityStatement.useContext.code.code",
"path" : "CapabilityStatement.useContext.code.code",
"short" : "Symbol in syntax defined by the system",
"definition" : "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
"comment" : "Note that FHIR strings may not exceed 1MB in size",
"requirements" : "Need to refer to a particular code in the system.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Coding.code",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "code"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "v2",
"map" : "C*E.1"
},
{
"identity" : "rim",
"map" : "./code"
},
{
"identity" : "orim",
"map" : "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
}
]
},
{
"id" : "CapabilityStatement.useContext.code.display",
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
"valueBoolean" : true
}
],
"path" : "CapabilityStatement.useContext.code.display",
"short" : "Representation defined by the system",
"definition" : "A representation of the meaning of the code in the system, following the rules of the system.",
"comment" : "Note that FHIR strings may not exceed 1MB in size",
"requirements" : "Need to be able to carry a human-readable meaning of the code for readers that do not know the system.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Coding.display",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "string"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "v2",
"map" : "C*E.2 - but note this is not well followed"
},
{
"identity" : "rim",
"map" : "CV.displayName"
},
{
"identity" : "orim",
"map" : "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
}
]
},
{
"id" : "CapabilityStatement.useContext.code.userSelected",
"path" : "CapabilityStatement.useContext.code.userSelected",
"short" : "If this coding was chosen directly by the user",
"definition" : "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
"comment" : "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
"requirements" : "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "Coding.userSelected",
"min" : 0,
"max" : "1"
},
"type" : [
{
"code" : "boolean"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "v2",
"map" : "Sometimes implied by being first"
},
{
"identity" : "rim",
"map" : "CD.codingRationale"
},
{
"identity" : "orim",
"map" : "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [ fhir:source \"true\"; fhir:target dt:CDCoding.codingRationale\\#O ]"
}
]
},
{
"id" : "CapabilityStatement.useContext.value[x]",
"path" : "CapabilityStatement.useContext.value[x]",
"short" : "Value that defines the context",
"definition" : "A value that defines the context specified in this context of use. The interpretation of the value is defined by the code.",
"comment" : "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
"min" : 1,
"max" : "1",
"base" : {
"path" : "UsageContext.value[x]",
"min" : 1,
"max" : "1"
},
"type" : [
{
"code" : "CodeableConcept"
},
{
"code" : "Quantity"
},
{
"code" : "Range"
}
],
"condition" : [
"ele-1"
],
"constraint" : [
{
"key" : "ele-1",
"severity" : "error",
"human" : "All FHIR elements must have a @value or children",
"expression" : "hasValue() | (children().count() > id.count())",
"xpath" : "@value|f:*|h:div"
}
],
"isSummary" : true,
"binding" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString" : "UsageContextValue"
}
],
"strength" : "example",
"description" : "A code that defines the specific value for the context being specified",
"valueSetReference" : {
"reference" : "http://hl7.org/fhir/ValueSet/use-context"
}
},
"mapping" : [
{
"identity" : "rim",
"map" : "n/a"
},
{
"identity" : "v2",
"map" : "CE/CNE/CWE"
},
{
"identity" : "rim",
"map" : "CD"
},
{
"identity" : "orim",
"map" : "fhir:CodeableConcept rdfs:subClassOf dt:CD"
}
]
},
{
"id" : "CapabilityStatement.jurisdiction",
"path" : "CapabilityStatement.jurisdiction",
"short" : "Intended jurisdiction for capability statement (if applicable)",
"definition" : "A legal or geographic region in which the capability statement is intended to be used.",
"comment" : "NHS Digital Business Rules:\r\n\r\nRestricted out for now. \r\n\r\nIt may be possible for the capability statement to be used in jurisdictions other than those for which it was originally designed or intended.",
"min" : 0,
"max" : "1",
"base" : {
"path" : "CapabilityStatement.jurisdiction",
"min" : 0,